![Glue DataBrewのレシピでカスタムソートが出来るようになっていたので試してみた](https://devio2023-media.developers.io/wp-content/uploads/2021/12/aws-glue-databrew.png)
Glue DataBrewのレシピでカスタムソートが出来るようになっていたので試してみた
いわさです。
Glue DataBrewでソート機能が強化されたみたいです。
ただ、変更前を私が知らないのとソートに関して触れている記事が見当たらなかったので、今回はアップデートにフォーカスしすぎずソート機能をまとめて試してみた内容を紹介したいと思います。
AWS Glue DataBrew now supports multi-column and custom sort as transformations
直近のアップデートとしては、マルチカラムソート機能とカスタムソート機能がおそらく追加されたのだと思います。
ソートメニュー
フィルターメニューと列メニューの間に追加されています。
この機能からUIでレシピステップとしてソート機能を開始出来ます。
2021年12月末ごろの画面キャプチャを見ると、「ソート」メニューもなかったので、今回追加された形ですね。
通常の1カラムの昇順・降順のソート
列1つ指定して昇順か降順かを指定します。
普通の使い方です。
マルチカラムでのソート
Add another column to sort
からソート対象のカラムを追加できます。
ここではheader1とheader2をそれぞれ第一昇順、第二昇順で指定しました。
カスタムソート
次はカスタムソートです。
ここではheader3にPDCAのPlan, Do, Check, Actionという文字列を設定しています。
header3を通常どおりソートしようとすると普通はアルファベット順になると思います。
ここで、Sort by custom values
で並び順をリストで指定することが出来ます。
PDCA順になりました。
さらに、カスタムソートでは大文字・小文字の考慮も出来ます。
bbb,aaa,DDD,CCC,BBB,AAA
とカスタムソートを指定した場合は以下では大文字・小文字の区別がされていない状態です。
こちらは、Case-sensitive
を選択すると区別されるようになります。
ちなみに、非カスタムソートの場合は区別されてます。その場合に区別したくないときはソート前のステップで大文字・小文字の統一が必要そうですね。
欠損値の位置
欠損値のソート時の扱いにもオプションが用意されています。
こちらデフォルトでnull値が行末にありますが、有効化すると先頭に配置が出来ます。
さいごに
本日はGlue DataBrewのソート機能を使って見ました。
なお、レシピコードを作成する際は以下をご確認ください。当然ですが、本日UI上から設定された内容は全てカバーされています。